package com.lyc.wanandroid_kotlin.ui.activity.main.mvp.contract

import android.view.View
import com.lyc.wanandroid_kotlin.base.IModel
import com.lyc.wanandroid_kotlin.base.IPresenter
import com.lyc.wanandroid_kotlin.base.IView
import com.lyc.wanandroid_kotlin.bean.HttpResult
import com.lyc.wanandroid_kotlin.bean.UserInfoBody
import io.reactivex.Observable

/**
 * ClassName:com.lyc.wanandroid_kotlin.ui.activity.main.mvp.contract
 * Description:
 */
interface MainContract {

    interface View  : IView {
        fun showLogoutSuccess(success: Boolean)
        fun showUserInfo(bean: UserInfoBody)
    }

    interface Presenter:IPresenter<View>{
        fun logout()
        fun getUserInfo()
    }

    interface Model:IModel{
        fun logout(): Observable<HttpResult<Any>>
        fun getUserInfo(): Observable<HttpResult<UserInfoBody>>
    }
}